LSDj Wishlist
LSDJ Feature Wishlist These are mostly actual requests from users - so feel free to add or comment upon this. /Johan Stuff to consider: * Copy/paste kit notes between columns * Disable P wraparound? *Synth V2 **Real-time generated, does not render to WAVE. **Parameters have individual speed, loop point, step mode **ADHSR amplitude envelope, possibly introduce REL note to go from S to R * Improved pulse/noise envelope control. Currently, there is no easy way to make a smooth ADSR-like amplitude envelope for pulse/noise. One idea would be to replace current instrument envelope parameter with volume + ADHSR. When the instrument is played back, this would translate to a series of E commands. A new fake note "REL" could be added (below C-2?), that starts the transition Sustain=>Release. Another idea, which might fit better into the already existing design, would be to make the already existing table envelope column smoothly interpolate between levels, but then the "REL" note is not possible. * Allow tables to optionally run at a fixed, tempo-independent rate * Tonal sample player. Should be totally possible for lower octaves * Add ability to start a chain at the current position in live mode. Similar to pressing "START START", except instead of starting at phrase 0, start at phrase X, where X is the position of the next phrase that will play in the currently playing chain *"Clean instrument data" reduces duplicate instruments and tables with identical parameters to the same instance / "Clean song data" also reduces duplicate chains to the same instance *When two LSDJ's are synced in live mode, and master stops, the slave should become new master and continue playing *render start & end waves on synth screen *Prelisten while editing C commands *Program noise shape directly in channel instead of notes *Apply chain transpose while current phrase is being played (same as project transpose) *Table ping-pong (via command?) *A meta instrument for pairing instruments sharing the same notes across channels but with different instrument settings. **Example: Within instrument 41 you select what instrument (00-40) you want triggered on each of the 4 channels. Useful for building layered synths, or pairing Noise crunch to wav kicks. *Rhythmic V Speed setting. Ex: VCX = 1/4 note, VDX = 1/2 Triplet, VEX = 1/4 Dotted *Ability to edit pitch tables (LSDPatcher support) *Super Gameboy Color Palette support *Investigate wavegen rounding (could it be improved to make sines smoother?) *Allow 00-Tick to skip current note in phrase. Example: Phrase C/D/E/F/C/D/E/F/C/D/E/F/C/D/E/F; Groove 6/6/0; Resulting notes: C/D/F/C/E/F/D/E/C/D/F *User-generated wave synth - Synth X would use data in frame X0 for Signal: User. Start frame parameters would be removed along with Filter/Cutoff/Q, but would still allow Volume, Dist, Phase, Vshift, and Limit changes for the following 15 frames *Volume Tremolo command *noise S CMD=STABLE also safing up table transposes *wave/synth: Use grooves to advance wave frames *show song position in chain screen *LSDJ sync: arming LSDJ LIVE sync slave (through marking in song screen?) *Make an XL version of LSDJ(e.g. 2MByte) to contain more kit samples(Kinda hard to do because in order to do this, ROM patcher will also need to change). *Range copy-paste in instr 40 (speech) *Ability to patch default instrument parameters in ROM *Make Arduinoboy build the default build * ROMpler - ability to include all .snt in https://github.com/psgcabal/lsdjsynths in the ROM? * VST (like Retroplug) *The ability to skip the first chain when the song repeats *Move around songs in file screen (besides LOAD/SAVE/ERASE button, also add MOVE) *PC keyboard: record what's being played *An indicator on the main screen, blinking at the rate of bpm (for a visual aid on the tempo). *The ability to save instruments I've made through the wavetable for use in other songs. *Add more default kits. *Sync: if starting song play from phrase, try to sync chain position. Possible?? *Noise channel for keyboard. *Super Gameboy special features (border graphics??) *Speech channel for keyboard (should work but seems buggy? or?) *Prelisten in all modes? *Reset automated tables with A cmd + 80 + tableno *PC keyboard table select (maybe with num keypad)? *PC keyboard: fake polyphony switching between pu1, pu2, wav *Wave synth: would be nice with wave banks that are 32, 48, 64 frames long... *Groove entry in chain screen *Use PC keyboard keys for launching chains/phrases Fixed: (removed stuff here to make the page tidier) *G command only allows 00-1F in phrases and tables for faster input *Ability to set loop/hop point in table volume column (Hx) *Show both notes and oscilloscope for wave channel *Global tempo above 255 *Pre-5.1.0 wave channel pitch wrap (implemented using R8x) *Leave blank spaces blank when incrementing blocks -- not sure, but I do not think this is an issue anymore *Wave channel detune (like pulse) *L commands for wave synth ignore kit notes *Toggle when Instrument is added to Instrument column when adding notes - kinda fixed by adding Instrument only first time a note is entered *Control speed of C and noise P (by some groove?) *Player that supports multiple songs on .sav *DRM tuning not affecting notes or transpose (to enable kicks that end on a specified bass note) *Synth: FOLD in addition to CLIP/WRAP, Synth: Add adjustable dist threshold 0-F - 6.6.3 *Sample offset switch to toggle between F80 being longer forward offset (previous functionality), or stepback/backward (current functionality) - kinda fixed in 6.6.1 *Open source player - https://github.com/jkotlinski/lsdpack/tree/master *Make C00, V00 reset chords, vibrato - 6.5.1 *When playing a phrase, switch to the currently viewed phrase on H (like with phrase end) - 6.1.9 *Bug: D command in phrase with I-- note will kill the sound - fixed in 5.5.0 *Unify pitch/slide/vibrato control, so that kit/wave/pulse have the same settings - 5.7.0 *Allow HF sqr/saw vibrato - 5.7.0 *Investigate if it is somehow possible to reduce clicks from table volume column - improved in 5.6.5 *Bug: FFF can jump before sample s *tart - fixed in 5.5.4 *transfer instruments/phrases/songs over link cable and infrared port - possible to transfer groove/phrase/instr/table/synth data from 5.5.7 *Add "shift" in addition to "fast/slow" pitch type in kits to allow P command to offset kit pitch - added STEP mode in 5.4.8 *Add way to exclude instruments from chain transpose *C command in noise channel - added in 5.4.3, P command added in 5.4.4 *Pre/post-5.1.0 pitch switch - it's kind of fixed with DRM tuning *Using L commands in table with 00 in TSP column should bend back to base pitch - L bends use relative pitch *After deleting a song, auto-remove the empty slots in the middle - added in 5.3.4 *Provide page-by-page scrolling via D-pad left and right - actually B+up/down does this already *Detune/finetune command - F commands in pulses (5.0.0), or P commands using STEP mode (5.7.0) are now possible *CMD's to change synth characteristics (eg. Speed, Repeat, Length) - W commands added in 5.0.0 *Bug: in phrase screen, first set vibrato, then pitch. Won't work unless HF mode selected. *Bug?: L and C command don't work together - same with P and C. - they now do (since 4.9.7) *Bug?: L/P and transpose don't work together. - they now do (since 4.9.7) *Custom color palette (TODO: mention LSDpatcher again in lsdj docs?) - this is now possible in LSDPatcher *Add Command to modify KIT playlength [ nice effects and even melodies ] - already exists through S command Probably Won't Happen? Comments by me (Johan) *Show both WAV samples being played in border. **Must remember to move the MUTE/LR/SYNC indicators down a row so as to maintain visual separation from the "N" line *Add DRUM lookup table for Super Game Boy support - is this even needed?? doesn't it work already? *Independent sample offset control per-column in phrases - needs an idea how exactly to do this - adding a new command is a tough sell because there are many commands already *Build-in-mixer feature in LSDJ, where you can adjust the different 4 channel's volume. *Wave synth pitch wrap from pre-5.10 (perhaps using S command?) - old and new pitch can't co-exist, both won't fit, however if there is something that sounds nice on pre-5.10 that can't be done in newer versions, please send me an example and I'll try to improve the new pitch accordingly /Johan *Allow transfering LSDJ sync master on four channel adapter - seems like it would take some effort and not sure how many would use this feature *MERGE in addition to LOAD/SAVE/ERASE, which will copy all patterns, chains, and instruments from the current song into unused locations of another song in the save - seems too complicated, this is better done outside LSDJ itself with some 3rd party software *Force to mono in project screen: for people who use lsdj as a dual mono synth live, but track in headphones, it would be cool to have a way to override panning settings temporarily with a global option. - doesn't seem like such a good idea in the end since forcing to mono will also affect volume, so the mix will not come out like intended *R commands reset P bends in tables - use L00 for that *Random vibrato - toyed around with it a bit, but on the whole it does not seem particularly useful besides making kettle whistle sounds. *E commands not alter noise shape (this may likely break noise instruments - may be better to leave as is) - it is unclear if and how this should be changed *"Extra deep clone" to clone instruments within phrases - the number of instruments are very limited so they might be eaten up too fast for this to be really useful? *'Volume column in the phrase screen' - there simply is not enough RAM. *'Separate clipboards for different stuff' - probably not, RAM is limited *'External arpeggio notes in tables; allow tables to reference the note pre-increased by parameter 1/2 of the Cxy effect (c.f. effect 10xx in klystrack)' - I'm sorry, but I don't immediately see the big advantage with this, can you explain? *'Customizable duty cycle/"shape" parameter for synth' - I don't understand how this is different from the already available sync settings *'Shape distortion for synth; more options besides clip and wrap '- please describe in greater detail what you want *'Keyfollow/keytracking in a wave channel synth '- the CPU is too slow to adjust filter settings live *'Second CMD column in PHRASE screen for complex work' - not enough RAM **I suggested repurposing the table RAM, so each sacrificed table would make room for a couple two-CMD phrases, but this would dramatically increase code complexity, and the DMG CPU is likely too slow to handle the added load *'keyboard mapping tool, allowing a user to custom map a keyboard to lsdj, especially for special keyboards with extra buttons' - seems like something very few people would be interested in *'Ability to randomize a phrase - '''this actually existed in versions 3.4.4 - 3.9.2, but wasn't a very popular feature. *'video -''' what's that supposed to mean? Maybe check out http://truechiptilldeath.com/blog/2010/05/28/lsvj-appeared/ *'A timer on the main screen showing elapsed seconds and minutes of the song' - there's not much screen space for this. Check project screen instead. *'A function like Ctrl+z -UNDO- (in windows) for correct errors such as accidentally deleting notes'. If you delete notes, they should be in the clipboard - just press select+a to paste them back in. *'A NDS LSDJ sequencer with touch interface and the ability to create gb sav files to be used in LSDJ on the Game Boy'. Why would you want that? *'Reverse sample play.' I would really like this, but unfortunately it's not an easy thing to do - it's very difficult just to play two channels forwards. Instead, one will have to prepare reverse samples... (now added as kit stepback!) *'Startup demo song.' Is this really a good idea? It would be pretty nice for new users to quickly check if the setup is working by pressing start... but at the same time I just think it's pretty nice to start from a clean slate. *'Command for changing kit speed' - this could be done, but there are so many commands already... not sure how to fit it in.